Proof of OS Scheduling Behavior in the Presence of Interrupt-Induced Concurrency

نویسندگان

  • June Andronick
  • Corey Lewis
  • Daniel Matichuk
  • Carroll Morgan
  • Christine Rizkallah
چکیده

We present a simple yet scalable framework for formal reasoning and machine-assisted proof of interrupt-driven concurrency in operating-system code, and use it to prove the principal scheduling property of the embedded, real-time eChronos OS : that the running task is always the highest-priority runnable task. The key differentiator of this verification is that the OS code itself runs with interrupts on, even within the scheduler, to minimise latency. Our reasoning includes context switching, interleaving with interrupt handlers and nested interrupts; and it is formalised in Isabelle/HOL, building on the Owicki-Gries method for fine-grained concurrency. We add support for explicit concurrency control and the composition of multiple independently-proven invariants. Finally, we discuss how scalability issues are addressed with proof engineering techniques, in order to handle thousands of proof obligations.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Controlled Owicki-Gries Concurrency: Reasoning about the Preemptible eChronos Embedded Operating System

We introduce a controlled concurrency framework, derived from the Owicki-Gries method, for describing a hardware interface in detail sufficient to support the modelling and verification of small, embedded operating systems (OS’s) whose run-time responsiveness is paramount. Such real-time systems run with interrupts mostly enabled, including during scheduling. That differs from many other succes...

متن کامل

Implementing Concurrency For An ML - based Operating System

In this paper I describe the design, implementation, and features of ML/OS, an operating system with an embedded ML compiler. ML/OS supports a continuation-based thread model of concurrency with non-blocking, interrupt-driven input/output. By embedding the ML compiler into the operating system, ML/OS attempts to eliminate levels of abstraction that are present in traditional interactions betwee...

متن کامل

Task/Scheduler Logic: Reasoning about Concurrency in Component-Based Systems Software

Although component-based software development promises increased reuse and faster development time, it has proven difficult to build component-based systems software. One obstacle is that the concurrency structure in systems software tends to be complex. First, instead of a single scheduler, there is a hierarchy of schedulers: the processor schedules interrupts, the OS schedules software interr...

متن کامل

Robust gain-scheduled control of linear parameter-varying systems with uncertain scheduling parameters in the presence of the time-invariant uncertainties

In this paper, a new approach is presented to design a gain-scheduled state-feedback controller for uncertain linear parameter-varying systems. It is supposed that the state-space matrices of them are the linear combination of the uncertain scheduling parameters. It is assumed that the existed uncertainties are of type of time-invariant parametric uncertainties with specified intervals. Simulta...

متن کامل

Stability Proof of Gain-Scheduling Controller for Skid-to-Turn Missile Using Kharitonov Theorem

Gain scheduling is one of the most popular nonlinear control design approaches which has been widely and successfully applied in fields ranging from aerospace to process control. Despite the wide application of gain scheduling controllers, there is a notable lack of analysis on the stability of these controllers. The most common application of these kinds of controllers is in the field of fligh...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2016